1. Field of the Invention
The present invention relates to a voice over packet (VoP) system using a plurality of digital signal processors (DSPs) and a speech processing method in the system, and more particularly, to a VoP system in which voice and packets are converted into each other by a plurality of DSPs and transferred between a circuit network and a packet network, and a speech processing method in the system.
2. Description of the Related Art
A VoP system performs a function to convert voice between a packet network and a telephone network. An algorithm for processing voice is executed in a DSP. In a VoP system, DSPs process a plurality of voice channels, and appropriate algorithms for each channel are executed at an appropriate time such that scheduling is performed in order to process the plurality of channels without degradation in sound quality.
In order to implement a higher processing capability in a DSP, a DSP chip embedding a plurality of DSP cores is becoming widely used. A media gateway (MG), a system for VoP service, especially a large capacity system for network providers, processes hundreds or thousands of channels at the same time and executes algorithms for processing a variety of voice codecs, modems, and faxes. These algorithms are processed by DSPs, components of the MG. Also, for a large capacity system, a plurality of DSPs are arranged in parallel and process algorithms independently.
FIG. 1 is a diagram showing the structure of a conventional multiple DSP VoP system.
Referring to FIG. 1, the conventional multiple DSP VoP system includes a packet network interface 100, and a plurality of DSP blocks 110, 120, and 130. Each of the DSP blocks 110,120, and 130 includes a DSP 112, 122, 132, and a memory 114,124, and 134, and is connected to the packet network interface 100 serially or in parallel. In this conventional multiple DSP VoP system, a plurality of algorithms are used to provide one channel service.
The DSP executes algorithms, including echo canceling, automatic gain control, voice activity detect (VAD), DTMF tone detect, and voice coding/decoding for signal input from a circuit network 140 such as a telephone network, and then the encoded signal is packetized and transmitted to a packet network 150. Meanwhile, a packet input form the packet network 150 is processed by a voice decoding algorithm or a tone generation algorithm, and then the processed signal is transmitted to the circuit network 140. The processing capacity of the DSPs 112, 122, and 132 required to execute these DSP algorithms varies depending input data. In particular, it is known that in a voice call, speech intervals and silence intervals alternate repeatedly. In addition, the processing capacity of the DSPs 112, 122, and 132 required for encoding voice input from the circuit network 140 to transmit it to the packet network 150 changes tens of times depending on whether it is a speech interval or a silence interval.
When a plurality of voice calls are allocated to each DSP 112,122, and 132, the required processing capacity tends to be averaged. In spite of this tendency, the processing load of the DSP 112, 122, and 132 required at each time point fluctuates greatly, much higher or much lower than the average load. Meanwhile, the processing capacity of DSPs 112, 122, and 132 required to decode packetized voice from the packet network 150 to the circuit network 140 does not change depending on whether it is a speech interval or a silence interval, and needs only about one tenth of that for encoding.
The maximum number of calls to be accommodated by each DSP 112, 122, and 132 can be calculated on the basis of the maximum processing capacity required by each algorithm, the number of calls that can be processed by one DSP 112, 122, and 132 is determined. However, though this method is the safest one, the processing capacity of the DSPs 112,122, and 132 cannot be utilized to the maximum. The ratio between speech intervals and silence intervals during calls is known to be about 4 to 6. Accordingly, only about 40% of the processing capacity of the DSPs 112, 122, and 132 can be utilized. If the maximum number of calls is determined on the basis of average processing load, DSPs may be utilized to their maximum. But, when some number of calls are in speech interval, whole processing for all calls may not be finished in a predetermined interval such that the quality of voice is not degraded.
A variety of methods have been suggested to execute DSP algorithms requiring different processing capacities at each time point in the conventional multiple DSP VoP system. In particular, the U.S. Pat. No. 5,995,540 discloses a method to prevent waste of DSP processing capacity. According to the method, after finishing execution of DSP algorithms in each cycle, DSP executes user application programs with the remaining processing capacity. However, This method may be applied to the system executing user application programs and DSP algorithms in a DSP. However, the multiple DSP VoP system is aimed to execute only limited DSP jobs.
In addition, International Application Gazette WO 01/35228 discloses a scheduling method for determining the number of channels to be accommodated in one DSP on the basis of the average processing load of each algorithm, and a processing method when algorithms cannot be finished in a predetermined time, in particular. In this method, it is checked at the beginning of each cycle whether or not every channels allocated can be processed in the cycle. However, though this method can accommodate more channels than that of the conventional method, simplification or omission of the processing for channels may degrade the quality of the processing result.
In the conventional multiple DSP VoP system as shown in FIG. 1, each DSP processes the allocated channels independently. Therefore, when the processing capacity of a predetermined DSP is not enough for processing its allocated channels, the processing of channels allocated to the DSP is omitted or simplified. As a result, the quality degradation can not be prevented.